一、重构项目结构
Step 1. 自定义业务无关的基础类库
- com.baselib.activity: 封装业务无关的公用逻辑,如后面的BaseActivity代码
- com.baselib.cache: 缓存数据和图片的处理
- com.baselib.net: 网络底层封装库
- com.baselib.ui: 自定义控件
- com.baselib.utils: 业务无关的公用方法
Step 2. 实际项目中类进行归类划分
- com.myapp.activity: 所有的Activity,其他三大组件同样如此
- com.myapp.adapter: 所有的适配器
- com.myapp.entity: 实体类
- com.myapp.db: SQLite相关的逻辑封装
- com.myapp.engine: 业务相关的类
- com.myapp.ui: 自定义控件
- com.myapp.utils: 工具类
- com.myapp.interfaces: 接口,以I作为开头
- com.myapp.listener: 基于Listener的接口,命名以On作为开头
二、Activity 模板
1. com.baselib.activity.BaseActivity
|
|
2. com.myapp.activity.LoginActivity
|
|
三、Adapter 模板
com.myapp.adapter.WeatherAdapter
|
|
ListDemoActivity.onCreate()
|
|
四、实体化编程
1. JSON 数据
|
|
2. 生成实体类
可以使用插件,也可以使用公开的工具,如包建强提供的实体生成器下载地址
3. 序列化
|
|
4. fastJSON
|
|
如果使用崩溃,试下在混淆文件中加以下两行:12-keepattributes Signature // 避免混淆泛型-keepattributes *Annotation* // 不混淆注解
5. 传递
|
|
五、类型安全转换函数
valueOf
|
|
substring
|
|